// 1.区别一：type类型使用范围更广，接口类型只能用来声明对象
type MyNumber = number
type IDType = number | string

// 2.区别二：在声明对象时，interface可以多次声明‘
type PointType1 = {
    x: number
    y: number
}

// type PointType1 = {
//     z?:number
// }

// 2.2 interface可以多次声明同一个接口名称
interface PointType2 {
    x: number
    y: number
}

interface PointType2 {
    z?: number
}

const point: PointType2 = {
    x: 100,
    y: 100,
}

// 3.interface支持继承的
interface IPerson {
    name: string
    age: number
}

interface Ikun extends IPerson {
    hobby: string
}

const ikun1: Ikun = {
    name: "ikun1",
    age: 18,
    hobby: "你干嘛",
}
// 4.interface可以被类实现
// class Person implements IPerson {
// }

// 总结：如果是非对象类型的定义直接使用type,如果是对象类型的声明那么使用interface

export {}
